package com.wofish.member.mapper;

import com.wofish.member.domain.Member;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * 会员 数据层
 * 
 * @author wofish
 * @date 2019-04-21
 */
public interface MemberMapper {
	/**
     * 查询会员信息
     * 
     * @param memberId 会员ID
     * @return 会员信息
     */
	public Member selectMemberById(Long memberId);
	
	/**
     * 查询会员列表
     * 
     * @param member 会员信息
     * @return 会员集合
     */
	public List<Member> selectMemberList(Member member);
	
	/**
     * 新增会员
     * 
     * @param member 会员信息
     * @return 结果
     */
	public int insertMember(Member member);
	
	/**
     * 修改会员
     * 
     * @param member 会员信息
     * @return 结果
     */
	public int updateMember(Member member);
	
	/**
     * 删除会员
     * 
     * @param memberId 会员ID
     * @return 结果
     */
	public int deleteMemberById(Long memberId);
	
	/**
     * 批量删除会员
     * 
     * @param memberIds 需要删除的数据ID
     * @return 结果
     */
	public int deleteMemberByIds(String[] memberIds);

	/**
	 * 更新会员积分
	 * @param memberId
	 * @param val 积分值，可正可负
	 * @return
	 */
    int updateMemberPoint(@Param("memberId") Long memberId, @Param("val") Integer val);

	/**
	 * 更新会员余额
	 * @param memberId
	 * @param val
	 * @return
	 */
	int updateMemberAdvance(@Param("memberId") Long memberId, @Param("val") BigDecimal val);
}